package com.bsoft.gol.hcs.clinical.bean.response;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

/**
 * @author fzy91
 * @title: GetDiagnosticInfoXMLResp
 * @projectName common-clinical
 * @description: 诊断信息查询
 * @date 2021/9/710:40
 */
@XmlRootElement(name = "Data")
public class GetDiagnosticInfoXMLResp {
    /*诊断类型,1西医，2中医*/
    private String diagnosticType;
    /*机构ID*/
    private String orgId;
    /*构名称*/
    private String orgName;
    /*诊断记录*/
    @XmlElementWrapper(name = "diagnosticLists")
    @XmlElement(name = "diagnosticList")
    private List<Diagnostic> diagnosticList;

    @XmlElement(name = "DiagnosticType")
    public String getDiagnosticType() {
        return diagnosticType;
    }

    public void setDiagnosticType(String diagnosticType) {
        this.diagnosticType = diagnosticType;
    }

    @XmlElement(name = "OrgId")
    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    @XmlElement(name = "OrgName")
    public String getOrgName() {
        return orgName;
    }

    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    public List<Diagnostic> getDiagnosticList() {
        return diagnosticList;
    }

    public void setDiagnosticList(List<Diagnostic> diagnosticList) {
        this.diagnosticList = diagnosticList;
    }

    public  static  class Diagnostic{

        /*疾病代码类别*/
        private String diseasesCodeType;
        /*疾病代码*/
        private String diseasesCode;
        /*疾病名称*/
        private String diseasesName;
        /*性别限制(0不限 1限男 2限女)*/
        private String sexRestrictionFlag;
        /*允许治愈(0禁止 1允许)*/
        private String cureFlag;
        /*允许好转(0禁止 1允许)*/
        private String improveFlag;
        /*允许未愈(0禁止 1允许)*/
        private String noHealingFlag;
        /*允许死亡(0禁止 1允许)*/
        private String deathFlag;
        /*允许其它(0禁止 1允许)*/
        private String otherFlag;
        /*控制方式(0提醒 1强制控制)*/
        private String controlMode;
        /*年龄上限*/
        private String upperAgeLimit;
        /*年龄下限*/
        private String lowerAgeLimit;
        /*备注信息*/
        private String remark;
        /*统计码*/
        private String statisticsCode;
        /*附加编码*/
        private String extraCode;

        @XmlElement(name = "diseasesCodeType")
        public String getDiseasesCodeType() {
            return diseasesCodeType;
        }

        public void setDiseasesCodeType(String diseasesCodeType) {
            this.diseasesCodeType = diseasesCodeType;
        }

        @XmlElement(name = "diseasesCode")
        public String getDiseasesCode() {
            return diseasesCode;
        }

        public void setDiseasesCode(String diseasesCode) {
            this.diseasesCode = diseasesCode;
        }

        @XmlElement(name = "diseasesName")
        public String getDiseasesName() {
            return diseasesName;
        }

        public void setDiseasesName(String diseasesName) {
            this.diseasesName = diseasesName;
        }

        @XmlElement(name = "sexRestrictionFlag")
        public String getSexRestrictionFlag() {
            return sexRestrictionFlag;
        }

        public void setSexRestrictionFlag(String sexRestrictionFlag) {
            this.sexRestrictionFlag = sexRestrictionFlag;
        }

        @XmlElement(name = "cureFlag")
        public String getCureFlag() {
            return cureFlag;
        }

        public void setCureFlag(String cureFlag) {
            this.cureFlag = cureFlag;
        }

        @XmlElement(name = "improveFlag")
        public String getImproveFlag() {
            return improveFlag;
        }

        public void setImproveFlag(String improveFlag) {
            this.improveFlag = improveFlag;
        }

        @XmlElement(name = "noHealingFlag")
        public String getNoHealingFlag() {
            return noHealingFlag;
        }

        public void setNoHealingFlag(String noHealingFlag) {
            this.noHealingFlag = noHealingFlag;
        }

        @XmlElement(name = "deathFlag")
        public String getDeathFlag() {
            return deathFlag;
        }

        public void setDeathFlag(String deathFlag) {
            this.deathFlag = deathFlag;
        }

        @XmlElement(name = "otherFlag")
        public String getOtherFlag() {
            return otherFlag;
        }

        public void setOtherFlag(String otherFlag) {
            this.otherFlag = otherFlag;
        }

        @XmlElement(name = "controlMode")
        public String getControlMode() {
            return controlMode;
        }

        public void setControlMode(String controlMode) {
            this.controlMode = controlMode;
        }

        @XmlElement(name = "upperAgeLimit")
        public String getUpperAgeLimit() {
            return upperAgeLimit;
        }

        public void setUpperAgeLimit(String upperAgeLimit) {
            this.upperAgeLimit = upperAgeLimit;
        }

        @XmlElement(name = "lowerAgeLimit")
        public String getLowerAgeLimit() {
            return lowerAgeLimit;
        }

        public void setLowerAgeLimit(String lowerAgeLimit) {
            this.lowerAgeLimit = lowerAgeLimit;
        }

        @XmlElement(name = "remark")
        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        @XmlElement(name = "statisticsCode")
        public String getStatisticsCode() {
            return statisticsCode;
        }

        public void setStatisticsCode(String statisticsCode) {
            this.statisticsCode = statisticsCode;
        }

        @XmlElement(name = "extraCode")
        public String getExtraCode() {
            return extraCode;
        }

        public void setExtraCode(String extraCode) {
            this.extraCode = extraCode;
        }

        @Override
        public String toString() {
            final StringBuilder sb = new StringBuilder("{");
            sb.append("\"diseasesCodeType\":\"")
                    .append(diseasesCodeType).append('\"');
            sb.append(",\"diseasesCode\":\"")
                    .append(diseasesCode).append('\"');
            sb.append(",\"diseasesName\":\"")
                    .append(diseasesName).append('\"');
            sb.append(",\"sexRestrictionFlag\":\"")
                    .append(sexRestrictionFlag).append('\"');
            sb.append(",\"cureFlag\":\"")
                    .append(cureFlag).append('\"');
            sb.append(",\"improveFlag\":\"")
                    .append(improveFlag).append('\"');
            sb.append(",\"noHealingFlag\":\"")
                    .append(noHealingFlag).append('\"');
            sb.append(",\"deathFlag\":\"")
                    .append(deathFlag).append('\"');
            sb.append(",\"otherFlag\":\"")
                    .append(otherFlag).append('\"');
            sb.append(",\"controlMode\":\"")
                    .append(controlMode).append('\"');
            sb.append(",\"upperAgeLimit\":\"")
                    .append(upperAgeLimit).append('\"');
            sb.append(",\"lowerAgeLimit\":\"")
                    .append(lowerAgeLimit).append('\"');
            sb.append(",\"remark\":\"")
                    .append(remark).append('\"');
            sb.append(",\"statisticsCode\":\"")
                    .append(statisticsCode).append('\"');
            sb.append(",\"extraCode\":\"")
                    .append(extraCode).append('\"');
            sb.append('}');
            return sb.toString();
        }
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("{");
        sb.append("\"diagnosticType\":\"")
                .append(diagnosticType).append('\"');
        sb.append(",\"orgId\":\"")
                .append(orgId).append('\"');
        sb.append(",\"orgName\":\"")
                .append(orgName).append('\"');
        sb.append(",\"diagnosticList\":")
                .append(diagnosticList);
        sb.append('}');
        return sb.toString();
    }
}
